使用bulkload将数据批量导入hbase(超详细) |
您所在的位置:网站首页 › bulk load aborted › 使用bulkload将数据批量导入hbase(超详细) |
第一步:在HBase中创建表(表名是wjt:bulkload_1,列族是cf,wjt是命名区间)
命令格式: HADOOP_CLASSPATH=`$HBASE_HOME/bin/hbase classpath` hadoop jar $HBASE_HOME/lib/hbase-server-version.jar importtsv -Dimporttsv.bulk.output= -Dimporttsv.separator= -Dimporttsv.columns= 其中 -Dimporttsv.columns=HBASE_ROW_KEY,f:a,f:b的意思是通过'|'分隔符号分割的第一个元素作为rowkey,第二个元素作为f:a列值,第三个元素作为f:b值。 在linux终端输入命令: HADOOP_CLASSPATH=`/home/bigdata/bigdata/hbase/bin/hbase classpath` hadoop jar /home/bigdata/bigdata/hbase/lib/hbase-server-1.4.10.jar importtsv -Dimporttsv.bulk.output=hdfs://westgis152:8020/wjt/output/bulkload_result_1 -Dimporttsv.separator=',' -Dimporttsv.columns=HBASE_ROW_KEY,cf:letter,cf:number "wjt:bulkload_1" hdfs://westgis152:8020/wjt/input/bulkload_1.txt 注意:hbase-server的jar包版本可以去hbase下的lib目录查看,Dimporttsv.bulk.output中的bulkload_result_1目录不能存在,Dimporttsv.separator是数据的分隔符,Dimporttsv.columns=HBASE_ROW_KEY表示以数据的第一列作为行键(这里行键是rowkey-1、rowkey-2、rowkey-3、rowkey_4),cf:letter表示列族:列,hdfs://westgis152:8020/wjt/input/bulkload_1.txt表示hdfs://主机名:hadoop中的core-site-xml文件中的fs.defaultFS端口号/文件在hdfs上的路径 执行过程中没报错即执行成功,查看输出文件的内容 生成的HFile必须尽快的去load到表中,在第一个步骤中HFile生成的规则是一个region一个文件,如果不尽快加载一旦线上的region发生分裂就会造成加载的性能下降。 命令格式: HADOOP_CLASSPATH=`$HBASE_HOME/bin/hbase classpath` hadoop jar $HBASE_HOME/lib/hbase-server-version.jar completebulkload在Linux终端输入命令: HADOOP_CLASSPATH=`$HBASE_HOME/bin/hbase classpath` hadoop jar $HBASE_HOME/lib/hbase-server-1.4.10.jar completebulkload hdfs://westgis152:/wjt/output/bulkload_result_1 "wjt:bulkload_1" |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |